Feature/per room notification channels#7145
Open
PolynomialDivision wants to merge 6 commits into
Open
Conversation
Contributor
|
Thank you for your contribution! Here are a few things to check in the PR to ensure it's reviewed as quickly as possible:
|
6767740 to
639cef1
Compare
3d73fe6 to
26c9c3f
Compare
26c9c3f to
7de8a60
Compare
Add a RoomNotificationChannelManager that creates room-scoped Android notification channels for noisy room notifications. Channels are grouped as Private chats or Rooms, skip silent notifications, respect PIN privacy by falling back to the shared channel, and preserve the shared noisy channel sound. The manager also prunes stale unmodified channels.
Route notification creation through RoomNotificationChannelManager. Reuse the existing conversation lifecycle hooks to delete room channels when rooms or sessions disappear, and to clear them when PIN privacy is enabled.
Refresh a room shortcut when the first incoming non-thread notification is received, not only when the user sends a message. This gives room channels an Android conversation shortcut, icon, and avatar before the user replies.
Split conversation updates into sent and received paths. Sent text and attachment messages refresh the shortcut and create a room channel only when the room notification mode is ALL_MESSAGES. Received messages still only refresh the shortcut; notification creation handles their per-event noisiness.
7de8a60 to
5829297
Compare
Add a room notification settings intent provider that opens the Android channel settings for a Matrix room. Use the conversation id on Android 11 and newer, fall back to channel settings on Android 8-10, and app settings before channels exist. Expose the entry point from the room notification settings screen and cover the API-level intent behavior with focused tests.
Publish the room shortcut before opening Android notification settings so the platform can resolve the conversation name and icon. Propagate room avatar metadata into shortcuts, add fallback icons, and keep shortcut and locus IDs aligned on room notifications.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Content
Automatically creates a per-room notification channel the first time a room notifies you, grouped under new "Private chats"/"Rooms" categories, so any room can appear as an Android Conversation and be marked Priority.
Motivation and context
You can prioritize certain chats and Element-X is closer integrated in the Android Conversation system.
Screenshots / GIFs
Tests
Tested devices
Checklist